A device, such as a device at a Central Office of an operator or a device of a user at home, when the device is in operation, may be managed by a management device in operation. The management device communicates with the device with a management protocol to manage and maintain the device. The management and maintenance of the device include software upgrading, failure diagnosing, and configuration management.
In general, a device in operation may also establish a connection with a server, and request downloading upgrading software, or request data configuration. Such a server may merely be a file storage server without any management function.
The connection between the device and the management device or between the device and a server is shown in FIG. 1. The device is directly connected to the management device or the server via a Wide Area Network or a Local Area Network. The device communicates with the management device or the server via a communication protocol.
All firmware or programs needed for operation by the device are stored in a memory, such as a FLASH memory. Data stored in the memory will not be lost when the memory is powered off. The firmware or a program includes a boot program (BOOTP) and application firmware or an application program. When the device is powered on or reset, the BOOTP solidified in the FLASH memory is first executed, and then an application program is executed.
To ensure the security of a device, the BOOTP of the device should not be changed by being software upgraded on line. However, application firmware or an application program may be upgraded on line in general. Therefore, the device is able to start with the BOOTP except that a hardware failure occurs in the device.
In practical application, when the firmware or the program of a device is upgraded by the management device, or the device requests a server for downloading the firmware or the program and upgrades with the firmware or the program, the device may not start normally using the newly-upgraded firmware or the program if an error occurs in a file transmission process or in an upgrade process. The error in the file transmission process may be caused by insufficient file checkout. The error in the upgrade processes may happen when writing the firmware or the programs into the FLASH memory of the device.
Besides the errors occur in the file transmission process or in the upgrade processes, the firmware or the program needed for operation by the device may also be damaged if there is a writing operation to the FLASH memory while the device is in operation. As a result, the device may not start normally.
Therefore, dual backups are generally adopted for the firmware or the program to be upgraded in a device to ensure a reliable startup of the device. When one copy of the dual backups is damaged, the device may operate with the other copy of the dual backups.
Since the dual backups of the programs occupy much space of the FLASH memory, the space of the FLASH memory is required to be large enough, which increases the cost of the hardware of the device.
For solving the problems mentioned above, another solution is adopted at present. The solution includes restoring the device with a local emergency restoration measurement when the device starts abnormally. For example, a WEB emergency page is popped up in the BOOTP of the device to request the user to re-upgrade the programs.
It is easy to find that the device is required to have the interface and means of local maintenance and management, and the emergency restoration of the device may not be fulfilled automatically without the cooperation of the user. Therefore, it is required that the user should know correlative techniques well, i.e. the restoration processing for a failure of the device may be implemented only if the user masters certain network knowledge. If the user may not carry out the corresponding restoration, an operator is required to offer an on-site maintenance service. Therefore, the maintenance cost increases greatly.